#include "RenderManager.h"
#include <stdio.h>
#include <memory>
#include <thread>
#include "renders/IRender.h"
#include "renders/TriangleRender.h"
#include "renders/LambertModelRender.h"
#include "renders/VertexLightingRender.h"
#include "renders/BulgeRender.h"
#include "renders/SimpleParticleRender.h"
#include "renders/TextureParticleRender.h"
#include "renders/OutFadeRender.h"
#include "renders/OutFadeRender_Fragment.h"
#include "renders/OutLineRender.h"
#include "renders/WaveRender.h"

#define CreateRender(clsName) AddRenders(std::shared_ptr<clsName>(new clsName(#clsName)))

void RenderManager::RegisterAllRenders()
{
	printf("RenderManager::RegisterAllRenders\n");
	//CreateRender(TriangleRender);
	//CreateRender(LambertModelRender);
	//CreateRender(VertexLightRender);
	//CreateRender(BulgeRender);
	//CreateRender(SimpleParticleRender);
	//CreateRender(TextureParticleRender);
	//CreateRender(OutFadeRender);
	//CreateRender(OutFadeRender_Fragment);
	//CreateRender(OutLineRender);
	CreateRender(WaveRender);
}